<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

<script>
// 英文：
  // size - 大小

// 面试问题：
  // 什么叫「重构」：
    // 即第一版开发，通常是 时间紧、任务种、赶工期，所以代码质量相对较低。
      // 所以，重要的项目，在开发完毕/开发过程中有时间的话，会 将代码「优化」，这就叫重构。

  // 什么叫「代码优化」：
    // 写代码的原则，代码是给人看的；(其他人 或 半个月后的自己)，要让「人」看的懂。
      // 如何让人看的懂：
        // 1.思路要简洁；
        // 2.变量名/函数名要语义化。
        // 3.复杂的逻辑，若无法进一步优化，需要加「注释」。

  // 重构或代码优化的目的：
    // 为了方便将来，「需求变更」，好容易进行代码的变动。

// var arr = [2, 4, 6, 8, ..., 60]
// 创造 2 ~ n 的所有偶数的数组
function create(n) {
  var result = [];
  for (var i = 2; i <= n; i += 2) {
    result.push(i);
  }
  return result;
}
var arr = create(60);

// 获取新数组中 元素的个数

// finallysize 为最终的结果值
// 例如：[6, 16, 26, 36, 46, 56]
var finallysize = arr.length / 5;

// 


// 遍历 arr
// for (var i = 0; i <= arr.length; i++) {
//   console.log(arr[i]);
// }

var result = [];
for (var j = 0; j < finallysize; j++) {
  var slice = arr.slice(j * 5, (j+1) * 5)
  result.push(slice);
}

// result: [0, 1,  2,  3,  4,  5]
// 结果值： [6, 16, 26, 36, 46, 56]
// console.log(result);
var finallyResult = [];
for (var i = 0; i < result.length; i++) {
  var temp = result[i];

  var sum = 0;

  // 下面的循环，就要 遍历 - [2, 4, 6, 8, 10] 这个数据
  for (var j = 0; j < temp.length; j++) {
    sum += temp[j];
  }
  // console.log('sum', sum);
  finallyResult.push(sum / 5);
}

console.log('最终的结果', finallyResult);

</script>